package persistencia.compartido;

import persistencia.carreras.ClaveValor;
import compartido.IEntidad;

public class IdentificadoresDeEntidades extends ClaveValor {
	public IdentificadoresDeEntidades(Tipo<IEntidad> tipo, Long idActual) {
		super(tipo.getNombre(),idActual.toString());
	}
	
	public IdentificadoresDeEntidades(ClaveValor claveValor) {
		super(claveValor);
	}
	
	public long getUltimoIdentificadorAsignado() {
		return Long.valueOf(super.getValor());
	}
	
	@SuppressWarnings("unchecked")
	public Class<? extends IEntidad> getClase() {
		Class<?> clase = CargadorDeClases.getInstancia().cargarClase(getIdentificador());
		
		Class<? extends IEntidad> claseEntidad = null;
		if (IEntidad.class.isAssignableFrom(clase))
			claseEntidad = (Class<? extends IEntidad>) clase;
			
		return claseEntidad;
	}
	
}
